#ifndef EVENTO_H
#define EVENTO_H

#include <set>
using namespace std;

#include "../Callback/Callback.h"

#define forall(it,X) for(typeof((X).begin()) it=(X).begin();it!=(X).end();it++)

class Evento
{
	public:
		void Notificar() const;
		void Suscribir(BaseCallback* callback);
		void Dessuscribir(BaseCallback* callback);
	private:
		set<BaseCallback*> callbacks;
};

#endif
